<template>
    <li>
        <label>
            <input type="checkbox" :checked="todo.done" @change="handleCheck(todo.id)"/>
            <!-- input type="checkbox" v-model="todo.done" 不能这样写,因为改变了props中传入的数据 -->
            <span>{{todo.title}}</span>
        </label>
            <button class="btn btn-danger"  @click="handleDelete(todo.id)">删除</button>
    </li>
</template>

<script>
    import pubSub from 'pubsub-js';
    export default {
        name:'MyItem',
        //声明接收todo对象
        props:['todo'],
        methods:{
            //获取改变的todo的id 将id传给App
            handleCheck(id){
                // console.log(id)
                //通知App组件将对应的对象done取反
                // this.checkTodo(id)
                this.$bus.$emit('checkTodo',id)
            },
            handleDelete(id){
                if(confirm('确认删除啊吗？')){
                    // this.deleteTodo(id)
                    // this.$bus.$emit('deleteTodo',id)
                    pubSub.publish('deleteTodo',id)
            }   
            }
        }
    }
</script>

<style scoped>
    /*item*/
    li {
        list-style: none;
        height: 36px;
        line-height: 36px;
        padding: 0 5px;
        border-bottom: 1px solid #ddd;
        }

        li label {
        float: left;
        cursor: pointer;
        }

        li label li input {
        vertical-align: middle;
        margin-right: 6px;
        position: relative;
        top: -1px;
        }

        li button {
        float: right;
        display: none;
        margin-top: 3px;
        }

        li:before {
        content: initial;
        }

        li:last-child {
        border-bottom: none;
        }
        li:hover{
            background-color: #ddd;
        }
        li:hover button{
            display: block;
        }
</style>